The present invention relates generally to the field of acoustic and network echo cancellation and more particularly to an improved robust method for performing adaptive filtering therefor.
With the increasingly commonplace use of speakerphones and teleconferencing, acoustic echo cancellation has recently become a topic of critical importance. In particular, an acoustic echo canceller (AEC) ideally removes the undesired echoes that result from the coupling between the loudspeaker and the microphone as used in full-duplex hands-free telecommunications systems. FIG. 1 shows a diagram of an illustrative acoustic echo canceller. (In many cases, stereo echo cancellers are used, but in the context of the instant problem and the present invention, the illustrative use of a single-channel teleconferencing system will be adequate.) The components and operation of FIG. 1 will be described in detail below.
In addition, echo cancellation techniques are also employed inside telecommunications (e.g., telephone) networks, because of the imperfect coupling of incoming signals at the 4-to-2 wire junctions in the networks. Unwanted echoes typically result from the fact that the impedance of the 2-wire facility is imperfectly balanced in the 4-to-2 wire junction, causing the incoming signal to be partially reflected over an outgoing path to the source of the incoming signals. Thus, network echo cancellers are used to remove this unwanted echo. FIG. 2 shows a diagram of an illustrative network echo canceller. The components and operation of FIG. 2 will also be described in detail below.
In both of these applications, echo cancellation is typically performed with use of an adaptive filter, fully familiar to those of ordinary skill in the art. In particular, the echo canceller mitigates the echo effect by adjusting the transfer function (i.e., the impulse response characteristic) of the adaptive filter in order to generate an estimate of the unwanted return signal. That is, the filter is adapted to mimic the effective transfer function of the acoustic path from the loudspeaker to the microphone in the acoustic echo cancellation application, or the effective transfer function of the reflection in the network echo cancellation application. As such, by filtering the incoming signal (i.e., the signal coming from the far-end), the output of the filter will estimate the unwanted return signal. Then, this estimate is subtracted from the outgoing signal (i.e., the return signal) to produce an error signal. By adapting the filter impulse response characteristic such that the error signal approaches zero, the echo is advantageously reduced or eliminated. That is, the filter coefficients, and hence the estimate of the unwanted echo, are updated in response to continuously received samples of the error signal for more closely effectuating as complete a cancellation of the echo as possible.
Additionally, double talk detectors (DTD) are generally used in echo cancellers in order to disable the filter adaptation during double talk conditions. That is, when both the near end and the far end party to a conversation talking place across a telecommunications line speak simultaneously, it would be undesirable to attempt to minimize the entire xe2x80x9cerror signal,xe2x80x9d since that signal now also includes the xe2x80x9cdouble talkxe2x80x9d (i.e., the speech of the near-end speaker). Specifically, the function of a double talk detector is to recognize that double talk is occurring, and to stop the filter from further adaptation until the double talk situation ceases. However, since a double talk detector cannot disable adaptation at the precise instant the double talk begins, a number of samples may occur in the delay periods between the commencement of double talk and the time when the double talk detector actually shuts down adaptation of the filter. And although it is generally advantageous to use a fast converging filter adaptation algorithm so that unwanted echoes and, in particular, changes which occur in the echo characteristics are quickly removed, such fast adaptation implies that samples taken during the aforementioned delay periods (i.e., between the commencement of double talk and the time when the double talk detector successfully shuts down adaptation of the filter) may considerably perturb the echo path estimate.
Thus, although prior art arrangements of adaptive filters for use in echo cancellers perform satisfactorily in most situations, it is often difficult to simultaneously achieve both sufficiently fast adaptation and the ability to resist perturbations caused by samples occurring prior to the cessation of adaptation by a double talk detector. (This ability to resist such perturbations is referred to herein as xe2x80x9crobustness.xe2x80x9d) As such, it would be desirable to provide a more robust filter adaptation algorithm which, while still having the properties of fast convergence, also provides robustness to double talk situations. In co-pending patent application Ser. No. 09/228,772, xe2x80x9cAdaptive Filter For Network Echo Cancellationxe2x80x9d by J. Benesty et al., it was suggested that certain scaled non-linearities may be advantageously applied to the coefficients of the adaptive filter in the context of a network echo cancellation algorithm, and that such modifications would in certain cases provide such an enhanced robustness. (Co-pending application Ser. No. 09/228,772, which is commonly assigned to the assignee of the present invention, is hereby incorporated by reference as if fully set forth herein.) Although the technique of application Ser. No. 09/228,772 does in fact provide some such added robustness over prior approaches, it would nonetheless be desirable to devise a less ad hoc technique which more completely and successfully addresses the instant problem.
It has been recognized that a fast converging coefficient adaptation algorithm, such as those commonly employed in adaptive filters used in echo cancellation applications, may be advantageously modified based on a predetermined probability density function for the error signal upon which the adaptation process is based. That is, improved robustness may be achieved when one of certain particular probability density functions for the error signal is both assumed and then explicitly taken into account in the design of the filter adaptation algorithm. In particular, the use of certain advantageously selected non-Gaussian probability density functions has been shown to provide for particularly robust adaptation algorithms.
More specifically then, the present invention provides an adaptive filter (and a corresponding adaptive filtering method) comprising a finite impulse response filter having a vector of adaptive coefficients, and an adaptive coefficient vector update module which modifies the vector of adaptive coefficients in response to an error signal and based on a predetermined probability density function for said error signal. In accordance with certain illustrative embodiments of the present invention, the probability density function is advantageously non-Gaussian, and in particular may comprise either the function
p1(z)=xc2xdexe2x88x92ln[cos h(xcfx80z/2)]
or the function             p      2        ⁡          (      z      )        =      {                                                                                                            1                    -                    ϵ                                                                              2                      ⁢                      π                                                                      ⁢                                  ⅇ                                                            -                                              z                        2                                                              /                    2                                                              ,                                                "LeftBracketingBar"                  z                  "RightBracketingBar"                                ≤                                  k                  0                                                                                                                                                              1                    -                    ϵ                                                                              2                      ⁢                      π                                                                      ⁢                                  ⅇ                                                                                    -                                                  "LeftBracketingBar"                          z                          "RightBracketingBar"                                                                    ⁢                                              k                        0                                                              +                                                                  k                        0                        2                                            /                      2                                                                                  ,                                                "LeftBracketingBar"                  z                  "RightBracketingBar"                                 greater than                                   k                  0                                                                        .      